home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1405.txt < prev    next >
Text File  |  1997-04-01  |  34KB  |  1,067 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       C. Allocchio
  8. Request for Comments: 1405                              I.N.F.N. - Italy
  9.                                                             January 1993
  10.  
  11.  
  12.        Mapping between X.400(1984/1988) and Mail-11 (DECnet mail)
  13.  
  14. Status of this Memo
  15.  
  16.    This memo defines an Experimental Protocol for the Internet
  17.    community.  Discussion and suggestions for improvement are requested.
  18.    Please refer to the current edition of the "IAB Official Protocol
  19.    Standards" for the standardization state and status of this protocol.
  20.    Distribution of this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    This document describes a set of mappings which will enable inter
  25.    working between systems operating the CCITT X.400 ( 1984 / 1988 )
  26.    Recommendations on Message Handling Systems, and systems running the
  27.    Mail-11 (also known as DECnet mail) protocol. The specifications are
  28.    valid within DECnet Phase IV addressing and routing scheme.
  29.  
  30.    The complete scenario of X.400 / RFC822 / Mail-11 is also considered,
  31.    in order to cover the possible complex cases arising in multiple
  32.    gateway translations.
  33.  
  34.    This document covers mainly the O/R address to DECnet from/to address
  35.    mapping (and vice versa); other mappings are based on RFC 1327 and
  36.    its eventual future updates.
  37.  
  38.    This is a combined effort of COSINE S2.2, the RARE MSG Working Group,
  39.    and the IETF X.400 Ops Working Group.
  40.  
  41. Chapter 1 - Introduction
  42.  
  43. 1.1. X.400
  44.  
  45.    The standard referred shortly into this document as "X.400" relates
  46.    to the CCITT 1984 and 1988 X.400 Series Recommendations covering the
  47.    Message Oriented Text Interchange Service (MOTIS). This document
  48.    covers the Inter Personal Messaging System (IPMS) only.
  49.  
  50. 1.2. Mail-11
  51.  
  52.    Mail-11, also known as DECnet mail and often improperly referred as
  53.    VMSmail, is the proprietary protocol implemented by Digital Equipment
  54.    Corporation (DEC) to establish a real-time text messaging system
  55.  
  56.  
  57.  
  58. Allocchio                                                       [Page 1]
  59.  
  60. RFC 1405                    Mail-11 Mapping                 January 1993
  61.  
  62.  
  63.    among systems implementing the DECnet Phase IV networking protocols.
  64.  
  65. 1.3. RFC822
  66.  
  67.    RFC822 was defined as a standard for personal messaging systems
  68.    within the DARPA Internet and is now diffused on top of many
  69.    different message transfer protocols, like SMTP, UUCP, BITNET, JNT
  70.    Grey Book, CSnet. Its mapping with X.400 is fully described in
  71.    RFC1327. In this document we will try to consider its relations with
  72.    Mail-11, too.
  73.  
  74. 1.4. The user community
  75.  
  76.    The community using X.400 messaging system is currently growing in
  77.    the whole world, but there is still a number of very large
  78.    communities using Mail-11 based messaging systems willing to
  79.    communicate easily with X.400 based Message Handling Systems. Among
  80.    these large DECnet based networks we can include the High Energy
  81.    Physics network (HEPnet) and the Space Physics Analysis Network
  82.    (SPAN).
  83.  
  84.    These DECnet communities will in the future possibly migrate to
  85.    DECnet Phase V (DECnet-OSI) protocols, converting thus their
  86.    messaging systems to OSI specifications, i.e., merging into the X.400
  87.    MHS; however the transition period could be long, and there could
  88.    always be some DECnet Phase IV communities around.
  89.  
  90.    For these reasons a set of mapping rules covering conversion between
  91.    Mail-11 and X.400 is described in this document.
  92.  
  93.    This document also covers the case of Mail-11 systems implementing
  94.    the "foreign mail protocol" allowing Mail-11 to interface other mail
  95.    systems, including RFC822 based system.
  96.  
  97. Chapter 2 - Message Elements
  98.  
  99. 2.1. Service Elements
  100.  
  101.    Mail-11 protocol offers a very restricted set of elements composing a
  102.    Inter Personal Message (IPM), whereas X.400 specifications support a
  103.    complex and large amount of service elements. Considering the case
  104.    where a message is relayed between two X.400 MHS via a DECnet network
  105.    this could result in a nearly complete loss of information. To
  106.    minimise this inconvenience most of X.400 service elements will be
  107.    mapped into Mail-11 text body parts. To consider also the case when a
  108.    message originates from a network implementing RFC822 protocols and
  109.    is relayed via Mail-11 to and X.400 MHS, the applied mapping from
  110.    X.400 service elements into Mail-11 text body part the rules
  111.  
  112.  
  113.  
  114. Allocchio                                                       [Page 2]
  115.  
  116. RFC 1405                    Mail-11 Mapping                 January 1993
  117.  
  118.  
  119.    specified in RFC1327 and their updates will be used, producing an
  120.    RFC822-like header.
  121.  
  122. 2.2. Mail-11 service elements
  123.  
  124.    All envelope (P1) and header (P2) Mail-11 service elements are
  125.    supported in the conversion to X.400. Note that Mail-11 P1 is solely
  126.    composed by P1.From and P1.To, and any other Mail-11 element belongs
  127.    to Mail-11 P2:
  128.  
  129.         - P1.From
  130.                 maps to P1.Originator
  131.  
  132.         - P1.To
  133.                 maps to P1.Primary Recipient
  134.  
  135.         - P2.From
  136.                 maps to P2.Originator
  137.  
  138.         - P2.To
  139.                 maps to P2.Primary Recipient
  140.  
  141.         - Cc
  142.                 maps to P2.Copy Recipient
  143.  
  144.         - Date
  145.                 maps to Submission Time Stamp
  146.  
  147.         - Subj
  148.                 maps to Subject
  149.  
  150.    Any eventual RFC822-like text header in Mail-11 body part will be
  151.    interpreted as specified into RFC1327 and its updates.
  152.  
  153. 2.3. X.400 service elements
  154.  
  155.    The following X.400 service elements are supported directly into
  156.    Mail-11 conversion:
  157.  
  158.         - P1.Originator
  159.                 maps to P1.'From'
  160.  
  161.         - P1.Primary Recipients
  162.                 maps to P1.'To'
  163.  
  164.         - P2.Originator
  165.                 maps to P2.'From'
  166.  
  167.  
  168.  
  169.  
  170. Allocchio                                                       [Page 3]
  171.  
  172. RFC 1405                    Mail-11 Mapping                 January 1993
  173.  
  174.  
  175.         - P2.Primary Recipients
  176.                 maps to P2.'To'
  177.  
  178.         - Copy Recipients
  179.                 maps to 'Cc'
  180.  
  181.         - Submission Time Stamp
  182.                 maps to 'date'
  183.  
  184.         - Subject
  185.                 maps to 'Subj'
  186.  
  187.    The following X.400 service element is partially supported into
  188.    Mail-11 conversion:
  189.  
  190.         - Blind Copy Recipient
  191.                 to ensure the required privacy, when a message contains
  192.                 a BCC address, the following actions occurs:
  193.                 - a new message is created, containing the body parts;
  194.                 - a new envelope is added to the new message, containing
  195.                   the originator and the BCC recipient addresses only;
  196.                 - a note is added to the message informing the BCC
  197.                   recipient about the fact that the message was a BCC;
  198.                 - the new message is delivered separately;
  199.                 - a note is added to the message delivered to TO and CC
  200.                   recipients informing them about the fact that there
  201.                   were some BCC recipients, too.
  202.  
  203.    Any other X.400 service element support is done accordingly to
  204.    RFC1327 including the mapped element into the RFC822-like header into
  205.    Mail-11 body part.
  206.  
  207. Chapter 3 - Basic Mappings
  208.  
  209.    The basic mappings indicated in RFC1327 and its updates should be
  210.    fully used.
  211.  
  212. Chapter 4 - Addressing
  213.  
  214. 4.1. Mail-11 addressing
  215.  
  216.    Mail-11 addressing can vary from a very simple case up to complex
  217.    ones, if there are other Mail-11 to "something-else" gateways
  218.    involved. In any case a Mail-11 address is an ASCII string composed
  219.    of different elements.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Allocchio                                                       [Page 4]
  227.  
  228. RFC 1405                    Mail-11 Mapping                 January 1993
  229.  
  230.  
  231. 4.2. X.400 addressing
  232.  
  233.    On the other hand, An X.400 O/R address is a collection of
  234.    attributes, which can anyway be presented as an IA5 textual
  235.    representation as defined in chapter 4 of RFC1327.
  236.  
  237. 4.3. Mail-11 address components
  238.  
  239.    Let us start defining the different parts composing a Mail-11
  240.    address. We can consider any Mail-11 address as composed by 3 parts:
  241.  
  242.         [[route]::] [[node]::] local-part
  243.  
  244.    where 'route' and 'node' are optional and only 'local-part' is
  245.    compulsory.
  246.  
  247.    Here comes a strict definition of these elements
  248.  
  249.      node = *(ALPHA/DIGIT) / *DIGIT / *DIGIT "." *DIGIT
  250.  
  251.      route = *(node "::")
  252.  
  253.      local-part = username / nickname / for-protocol
  254.  
  255.      username = *(ALPHA/DIGIT)
  256.  
  257.      nickname = <printablestring - <" " and HTAB>>
  258.  
  259.      for-protocol = (f-pref f-sep <">f-address<">)
  260.  
  261.      f-pref = *(ALPHA/DIGIT)
  262.  
  263.      f-sep = "%" / "::"
  264.  
  265.      f-address = printablestring / RFC822-address / X400-text-address
  266.  
  267.      X400-text-address = <textual representation of an X.400 O/R addr>
  268.  
  269.    Please note that in x-text-address both the ";" notation and the "/"
  270.    notation are equivalent and allowed (see examples in different sect.)
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Allocchio                                                       [Page 5]
  283.  
  284. RFC 1405                    Mail-11 Mapping                 January 1993
  285.  
  286.  
  287.    Some examples:
  288.  
  289.       route           node    local-part
  290.       -----------------------------------------------------------
  291.                               USER47
  292.                       MYNODE::BETTY
  293.       BOSTON::CLUS02::GOOFY1::MARY34
  294.                               IN%"M.P.Tracy@Dicdum.cc.edu"
  295.               UCLA13::MVAX93::MRGATE::"MBOX1::MBX34::MYC3::BOB"
  296.                       MIAMI2::George.Rosenthal
  297.               CCUBVX::VS3100::Jnet%"IAB3425@IBAX23L"
  298.                               MRGATE::"C=xx::A=bbb::P=ppp::S=Joe"
  299.                       MAINVX::IN%"path1!path2!user%dom"
  300.                       GWX400::gw%"C=xx;ADMD=aaa;PRMD=ppp;S=Lee;"
  301.                       GX409A::x400%"/C=xx/A=aaa/P=ppp/S=Lee"
  302.                               smtp%"postmast@nodeb.bitnet"
  303.               MICKEY::PRFGAT::profs%"NANCY@IBMB"
  304.                               edu%"HU427BD%CSUNIB@abc.acme.edu"
  305.  
  306. Chapter 5 - Mapping
  307.  
  308. 5.1. Mapping scheme
  309.  
  310.    DECnet address field is somehow a 'flat land' with some obliged
  311.    routes to reach some hidden areas. Thus a truly hierarchical mapping
  312.    scheme using mapping tables as suitable for RFC822 is not the
  313.    appropriate solution. A fixed set of rules using DDAs support is
  314.    defined in order to define the mapping.
  315.  
  316.    Another important aspect of the problem is the coexistence of many
  317.    disjoint DECnet networks, using the same DECnet address space, i.e.,
  318.    common X.400 and/or RFC822 mailing system acting as glue to connect
  319.    different isolated Mail-11 islands. Thus, to identify uniquely each
  320.    DECnet network we must also introduce the concept of 'DECnet network
  321.    name', which we will refer shortly as 'net' from now onwards. We
  322.    define as 'net' a unique ASCII string identifying the DECnet network
  323.    we are connected to. To be more specific, the 'net' element will
  324.    identify the DECnet community being served, i.e., it could also
  325.    differ from the actual official network name. Aliases are allowed for
  326.    the
  327.  
  328.        net = 'HEPnet'       the High Energy Physics DECnet network
  329.        net = 'SPAN'         the Space Physics Analysis Network
  330.        net = 'Enet'         the Digital Equipment Corporate Network
  331.  
  332.    The need of labelling each DECnet network with its name comes also
  333.    from the requirement to implement the 'intelligent' gateway, i.e.,
  334.    the gateway which is able to understand its ability to connect
  335.  
  336.  
  337.  
  338. Allocchio                                                       [Page 6]
  339.  
  340. RFC 1405                    Mail-11 Mapping                 January 1993
  341.  
  342.  
  343.    directly to the specified DECnet network, even if the O/R address
  344.    specify a path to a different gateway. A more detailed discussion of
  345.    the problem is in 5.3 and 5.5.
  346.  
  347.    A registry of 'net' attributes and their correspondent gateways must
  348.    also be implemented to insure uniqueness of names. A simple table
  349.    coupling 'net' and the gateway address is used, in a syntax similar
  350.    to the 'gate' table used in RFC1327. An example:
  351.  
  352.         HEPnet#OU$Cosine-gw.O$@.PRMD$infn.ADMD$garr.C$IT#
  353.         SPAN#OU$Cosine-gw.O$@.PRMD$infn.ADMD$garr.C$IT#
  354.         SPAN#O$ESRIN1.PRMD$esa.ADMD$Master400.C$it#
  355.  
  356.    Ambiguous left entries are allowed. Gateway implementations could
  357.    simply choose among one of them, or try them all in cyclic order to
  358.    obtain better performances.
  359.  
  360.    In order to keep the mapping rules very simple, avoiding the need to
  361.    analyse Mail-11 addresses to distinguish the 'route', 'node' and
  362.    needed to cover the mapping problem.
  363.  
  364. 5.2. Mail-11 --> X.400
  365.  
  366.     We define the following Domain Defined Attributes to map a Mail-11
  367.    address:
  368.  
  369.         DD.Dnet
  370.         DD.Mail-11
  371.  
  372.    We thus define the mapping rule
  373.  
  374.         route::node::localpart
  375.  
  376.    maps into
  377.  
  378.         C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
  379.         DD.Mail-11=route::node::localpart;
  380.  
  381.    with
  382.  
  383.         xx  = country code of the gateway performing the conversion
  384.         yyy = Admd of the gateway performing the conversion
  385.         zzz = Prmd of the gateway performing the conversion
  386.         ooo = Organisation of the gateway performing the conversion
  387.         uuu = Org. Unit(s) of the gateway performing the conversion
  388.         net = name of the DECnet network (e.g., HEPnet, SPAN,...)
  389.  
  390.    ('zzz','ooo','uuu' being used or dropped appropriately in order to
  391.  
  392.  
  393.  
  394. Allocchio                                                       [Page 7]
  395.  
  396. RFC 1405                    Mail-11 Mapping                 January 1993
  397.  
  398.  
  399.    identify uniquely within the X.400 MHS the gateway performing the
  400.    conversion).
  401.  
  402.    The following defaults also apply:
  403.  
  404.    if 'node' is missing and we are mapping the Mail-11 originator (From)
  405.    then 'node' defaults to the DECnet node name of the gateway (gwnode);
  406.  
  407.    if 'node' is missing and we are mapping the Mail-11 recipient (To,
  408.    Cc) then 'node' defaults to the DECnet node name of the 'From'
  409.    address.
  410.  
  411.    if 'DD.Dnet=net' is missing, then it defaults to a value defined
  412.    locally by the gateway: if the gateway is connected to one DECnet
  413.    network only, then 'net' will be the name of this unique network; if
  414.    the gateway is connected to more than one DECnet network, then the
  415.    gateway will establish a 'first choice' DECnet network, and 'net'
  416.    will default to this value.
  417.  
  418.    In case 'local-part' contains 'x400-text-address' see also section
  419.    6.4.3;
  420.  
  421.    In case 'local-part' contains 'RFC822-address' see also section
  422.    6.4.4.
  423.  
  424. 5.2.1. Examples
  425.  
  426.    Let us suppose that:
  427.  
  428.      the DECnet network name (net) is 'HEP';
  429.      the DECnet node name of the gateway (gwnode) is 'X4TDEC';
  430.      the Country Code of the gateway is 'IT' and its ADMD is 'garr'
  431.      (and these two fields are enough to identify uniquely the gateway
  432.      within the X.400 MHS).
  433.  
  434.     USER47
  435.      C=it; ADMD=garr; DD.Dnet=HEP; DD.Mail-11=X4TDEC::USER47;
  436.  
  437.     MYNODE::BETTY
  438.      C=it; ADMD=garr; DD.Dnet=HEP; DD.Mail-11=MYNODE::BETTY;
  439.  
  440.     BOSTON::CLUS02::GOOFY1::MARY34
  441.      C=it; ADMD=garr; DD.Dnet=HEP; DD.Mail-11=BOSTON::GOOFY1::MARY34;
  442.  
  443.     UCLA13::MVAX93::MRGATE::"MBOX1::MBX34:MYC3::BOB"
  444.      C=it; ADMD=garr; DD.Dnet=HEP;
  445.      DD.Mail-11=UCLA13::MVAX93::MRGATE::(q)MBOX1::MBX34::MYC3::BOB(q)
  446.  
  447.  
  448.  
  449.  
  450. Allocchio                                                       [Page 8]
  451.  
  452. RFC 1405                    Mail-11 Mapping                 January 1993
  453.  
  454.  
  455.     MIAMI2::George.Rosenthal
  456.      C=it; ADMD=garr; DD.Dnet=HEP; DD.Mail-11=MIAMI2::George.Rosenthal;
  457.  
  458.     MRGATE::"C=xx::A=bbb::P=ppp::S=Joe"
  459.      C=it; ADMD=garr; DD.Dnet=HEP;
  460.      DD.Mail-11=X4TDEC::MRGATE::(q)C=xx::A=bbb::P=ppp::S=Joe(q)
  461.  
  462.     MAINVX::In%"path1!path2!user%dom"
  463.      C=it; ADMD=garr; DD.Dnet=HEP;
  464.      DD.Mail-11=MAINVX::In(p)(q)path1(b)path2(b)user(p)dom(q)
  465.  
  466. 5.3. X.400 encoding of Mail-11 --> Mail-11
  467.  
  468.    In order to assure path reversibility in case of multiple Mail-
  469.    11/X.400 gateway crossing we must distinguish two cases:
  470.  
  471.    - DD.Dnet=net is known to the gateway as one of the DECnet networks
  472.      it is connected to. In this case the mapping is trivial:
  473.  
  474.         C=xx; ADMD=yyy; PRMD=zzz; O=ooo; OU=uuu; DD.Dnet=net;
  475.         DD.Mail-11=route::node::localpart;
  476.  
  477.    (see sect. 5.2 for explication of 'xx','yyy','zzz','ooo','uuu','net')
  478.  
  479.    maps into
  480.  
  481.         route::node::localpart
  482.  
  483.    - DD.Dnet=net is NOT known to the gateway as one of the DECnet
  484.      networks it is connected to. In this case the mapping rule
  485.      described into section 5.4 apply:
  486.  
  487.         C=xx; ADMD=yyy; PRMD=www; DD.Dnet=net;
  488.         DD.Mail-11=route::node::localpart;
  489.  
  490.    maps into
  491.  
  492.         gwnode::gw%"C=xx;ADMD=yyy;PRMD=www;DD.Dnet=net;
  493.         DD.Mail-11=route::node::localpart;"
  494.  
  495. 5.3.1. Examples
  496.  
  497.    Let us suppose that:
  498.  
  499.      the DECnet network name (net) is 'HEP';
  500.      the DECnet node name of the gateway (gwnode) is 'X4TDEC';
  501.      the Country Code of the gateway is 'IT' and its ADMD is 'garr';
  502.      (and these two fields are enough to identify uniquely the gateway
  503.  
  504.  
  505.  
  506. Allocchio                                                       [Page 9]
  507.  
  508. RFC 1405                    Mail-11 Mapping                 January 1993
  509.  
  510.  
  511.      within the X.400 MHS).
  512.  
  513.      C=it; ADMD=garr; DD.Dnet=HEP;
  514.      DD.Mail-11=X4TDEC::MRGATE::(q)C=ab::A=dsa::P=qwty::OU=mie::S=Cly(q)
  515.        MRGATE::"C=ab::A=dsa::P=qwty::OU=mie::S=Cly"
  516.  
  517.      C=it; ADMD=garr; DD.Dnet=EASYNET; DD.Mail-11=ROM01::CARLO;
  518.        X4TDEC::gw%"C=it;ADMD=garr;DD.Dnet=EASYNET;
  519.        DD.Mail-11=ROM01::CARLO;"
  520.  
  521.    (in the above example 'EASYNET' is supposed to be not connected to
  522.    our gateway located on X4TDEC DECnet node).
  523.  
  524. 5.4. X.400 --> Mail-11
  525.  
  526.    The mapping of an X.400 O/R address into Mail-11 is done encoding the
  527.    various attributes into the X400-text-address as defined in chapter 4
  528.    of RFC1327, and including this as 'f-address'. A 'f-pref' and a the
  529.    DECnet node name of the gateway.
  530.  
  531.    Thus
  532.  
  533.       x400-text-address
  534.  
  535.    will be encoded like
  536.  
  537.       gwnode::gw%"x400-text-address"
  538.  
  539.    having spaces dividing attributes as optional.
  540.  
  541. 5.4.1. Example
  542.  
  543.    Let us suppose that:
  544.  
  545.      the DECnet node name of the gateway (gwnode) is 'X4TDEC';
  546.  
  547.    Thus
  548.  
  549.       C=gb; ADMD=Gold 400; PRMD=AC.UK; O=ucl; OU=cs; G=Jim; S=Clay;
  550.  
  551.    will be encoded like
  552.  
  553.     X4TDEC::gw%"/C=gb/A=Gold 400/P=AC.UK/O=ucl/OU=cs/G=Jim/S=Clay"
  554.  
  555.    or its equivalent with the ";" notation
  556.  
  557.     X4TDEC::gw%"C=gb;ADMD=Gold 400;PRMD=AC.UK;O=ucl;OU=cs;G=Jim;S=Clay;"
  558.  
  559.  
  560.  
  561.  
  562. Allocchio                                                      [Page 10]
  563.  
  564. RFC 1405                    Mail-11 Mapping                 January 1993
  565.  
  566.  
  567. 5.5. Mail-11 encoding of X.400 --> X.400
  568.  
  569.    It can happened that Mail-11 is used to relay messages between X.400
  570.    systems; this will mean multiple X.400/Mail-11 gateway crossing and
  571.    we will encounter Mail-11 addresses containing embedded X.400
  572.    informations. In order to assure path reversibility we must then
  573.    distinguish two cases:
  574.  
  575.    - the embedded X.400 address belongs to a domain whose naming and
  576.      routing rules are known to the global X.400 MHS.  In this case the
  577.      mapping is trivial:
  578.  
  579.        route::gwnode::gw%"x400-text-address"
  580.  
  581.    maps into
  582.  
  583.        x400-text-address
  584.  
  585.       'route' and 'gwnode' are mapped into X.400 Trace service elements.
  586.  
  587.    - the encoded X.400 domain does not belong to the global X.400 name
  588.      space. In this case the mapping rule described into section 5.2
  589.      apply:
  590.  
  591.        route::gwnode::gw%"x400-text-address"
  592.  
  593.    maps into
  594.  
  595.        C=xx; ADMD=yyy; DD.Dnet=net;
  596.        DD.Mail-11=route::gwnode::gw(p)(q)x400-text-address(q);
  597.  
  598.    The latter case  is deprecated and must be regarded as a possible
  599.    temporary solution only, while waiting to include into the global
  600.    X.400 MHS also this domain.
  601.  
  602. 5.5.1. Examples
  603.  
  604.    Let us suppose that:
  605.  
  606.      the DECnet network name (net) is 'HEP';
  607.      the DECnet node name of the gateway (gwnode) is 'X4TDEC';
  608.      the Country Code of the gateway is 'IT' and its ADMD is 'garr';
  609.      (and these two fields are enough to identify uniquely the gateway
  610.      within the X.400 MHS).
  611.  
  612.      X4TDEC::gw%"C=fr;ADMD=atlas;PRMD=ifip;O=poly;S=Moreau;"
  613.        C=fr; ADMD=atlas; PRMD=ifip; O=poly; S=Moreau;
  614.  
  615.  
  616.  
  617.  
  618. Allocchio                                                      [Page 11]
  619.  
  620. RFC 1405                    Mail-11 Mapping                 January 1993
  621.  
  622.  
  623.      X4TDEC::gw%"C=zz;ADMD= ;PRMD=Botwa;O=Miner;S=Chiuaw;"
  624.        C=it; ADMD=garr; DD.Dnet=HEP;
  625.        DD.Mail-11=X4TDEC::gw(p)(q)C=zz;ADMD= ;
  626.        PRMD=Botwa;O=Miner;S=Chiuaw;(q)
  627.  
  628.    (in the above example  C=zz is unknown to the global X.400 MHS)
  629.  
  630. Chapter 6 - Complex mapping
  631.  
  632. 6.1. The protocol triangle
  633.  
  634.    The bilateral mappings described in chapter 5 must be extended in
  635.    order to cover also the case in which also RFC822 addressing is
  636.    involved, and the following triangular situation occurs:
  637.  
  638.                                    x.400
  639.                                    /  \
  640.                                   /    \
  641.                                  /      \
  642.                              Mail-11----RFC822
  643.  
  644.    The X.400 - RFC822 side is fully covered by RFC1327, and the previous
  645.    chapters in this document cover the Mail-11 - X.400 side.
  646.  
  647.    Currently a number of implementations also perform the mapping along
  648.    the Mail-11 - RFC822 side. The most important among these de facto
  649.    standards are discussed in Appendix A, jointly with a Mail-11 -
  650.    RFC822 mapping scheme which covers this side of the triangle.
  651.  
  652. 6.2. RFC822 mapped in Mail-11
  653.  
  654.    The 'RFC822-address' is usually included in 'local-part' as
  655.  
  656.         route::gwnode::gw%"rfc822-address"
  657.  
  658.    an example
  659.  
  660.         NVXA23::SMTPGW::in%"M.T.Rose@CS.UCLA.edu"
  661.  
  662. 6.3. Mail-11 mapped in RFC822
  663.  
  664.    There are different styles in mapping a Mail-11 address in RFC822;
  665.    let's have a short summary.
  666.  
  667.    - Mail-11 address encoded in "Left Hand Side" (LHS) of RFC822
  668.      address, using "%" syntax or "::" syntax;
  669.  
  670.         route::node::localpart
  671.  
  672.  
  673.  
  674. Allocchio                                                      [Page 12]
  675.  
  676. RFC 1405                    Mail-11 Mapping                 January 1993
  677.  
  678.  
  679.    maps to
  680.  
  681.         localpart%node%route@gw-domains
  682.  
  683.    or
  684.  
  685.         "route::node::localpart"@gw-domains
  686.  
  687.    where 'gw-domains' identify uniquely the Mail-11 / RFC822 gateway.
  688.  
  689.    - Mail-11 address maps partly to LHS and partly to 'domain' part of
  690.      RFC822 address:
  691.  
  692.         node::localpart
  693.  
  694.    maps to
  695.  
  696.         localpart@node.gw-domains
  697.  
  698.    - Mail-11 address is completely hidden by a mapping table / directory
  699.      and the resultant RFC822 address contains no trace at all of the
  700.      original address.
  701.  
  702.    As you could notice, in any of the quoted cases the resultant RFC822
  703.    address is not distinguishable from a genuine RFC822 address.
  704.  
  705. 6.4. Multiple conversions
  706.  
  707.    Let us now examine briefly the possible situations which involve
  708.    multiple conversions, having one protocol as a relay between the
  709.    other two. This summary suggest some possible enhanced solutions to
  710.    avoid heavy and unduly mappings, but the 'step by step' approach,
  711.    considering blindly one conversion as disjointed to the other, as
  712.    described in the previous sections, can always be used.
  713.  
  714. 6.4.1. X.400 --> RFC822 --> Mail-11
  715.  
  716.    We apply the RFC1327 rules to the first step, obtaining an RFC822
  717.    address which can be mapped in Mail-11 using the 'f-address' field,
  718.    as described in section 6.2.
  719.  
  720.    an example:
  721.  
  722.       C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
  723.  
  724.    maps accordingly to RFC1327 to
  725.  
  726.       Jim.Clay@cs.UCL.AC.UK
  727.  
  728.  
  729.  
  730. Allocchio                                                      [Page 13]
  731.  
  732. RFC 1405                    Mail-11 Mapping                 January 1993
  733.  
  734.  
  735.    and finally becomes
  736.  
  737.       SMTPGW::In%"Jim.Clay@cs.UCL.AC.UK"
  738.  
  739.    where 'SMTPGW' is the DECnet node name of the machine running the
  740.    RFC822 to Mail-11 gateway.
  741.  
  742. 6.4.2. Mail-11 --> RFC822 --> X.400
  743.  
  744.    Some of the possible mapping described in section 6.3 apply to the
  745.    Mail-11 address, hiding completely its origin. The RFC1327 apply on
  746.    the last step.
  747.  
  748.    an example:
  749.  
  750.       RELAY::MYNODE::BETTY
  751.  
  752.    could map into RFC822 as
  753.  
  754.       BETTY%MYNODE@RELAY.dnet.gw1.it
  755.  
  756.    and accordingly to RFC1327
  757.  
  758.       C=it; A=garr; P=dom1; O=gw1; OU=RELAY; S=BETTY(p)MYNODE;
  759.  
  760.    where 'dnet.gw1.it' is the domain of the machine running the Mail-11
  761.    to RFC822 gateway.
  762.  
  763. 6.4.3. X.400 --> Mail-11 --> RFC822
  764.  
  765.    The X.400 address is stored into Mail-11 'f-address' element as
  766.    described in sections 5.3 and 5.4; then if the Mail-11 to RFC822
  767.    gateway is able to understand the presence of a 'x400-text-address'
  768.    into the Mail-11 address, then it applies RFC1327 to it, and encodes
  769.    header. Otherwise it applies the rules described in 6.3
  770.  
  771.    an example:
  772.  
  773.      C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
  774.  
  775.    will be encoded like
  776.  
  777.      X4TDEC::gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"
  778.  
  779.    If the Mail-11 to RFC822 gateway recognise the x400-text-address,
  780.    then the address becomes, accordingly to RFC1327
  781.  
  782.      Jim.Clay@cs.UCL.AC.UK
  783.  
  784.  
  785.  
  786. Allocchio                                                      [Page 14]
  787.  
  788. RFC 1405                    Mail-11 Mapping                 January 1993
  789.  
  790.  
  791.    and the following RFC822 header line is added
  792.  
  793.      Received: from X4TDEC with DECnet (Mail-11) on xx-xxx-xxxx.
  794.  
  795.    Otherwise one of the dumb rules could produce
  796.  
  797.     gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"@X4TDEC.doms
  798.  
  799. 6.4.4. RFC822 --> Mail-11 --> X.400
  800.  
  801.    The RFC822 address is encoded in Mail-11 f-address element as
  802.    described in sect. 6.2; then if the Mail-11 to X.400 gateway is able
  803.    to understand the presence of an 'RFC822-address' into the Mail-11
  804.    address, then it applies RFC1327 to it, and encodes 'route' and
  805.    applies the rules described in 5.2 and 5.5.
  806.  
  807.    an example:
  808.  
  809.       Jim.Clay@cs.UCL.AC.UK
  810.  
  811.    will be encoded like
  812.  
  813.       SMTPGW::In%"Jim.Clay@cs.UCL.AC.UK"
  814.  
  815.    If the Mail-11 to X.400 gateway recognise the RFC822-address, then
  816.    the address becomes, accordingly to RFC1327
  817.  
  818.       C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
  819.  
  820.    and a 'trace' record is added into the X.400 P1 data, stating that a
  821.    node named SMTPGW was crossed.
  822.  
  823.    Otherwise dumb rule produces
  824.  
  825.       C=it; ADMD=garr; DD.Dnet=HEP;
  826.       DD.Mail-11=SMTPGW::In(p)(q)Jim.Clay(a)cs.UCL.AC.UK(q)
  827.  
  828. 6.4.5. RFC822 --> X.400 --> Mail-11
  829.  
  830.    We apply RFC1327 to the first conversion, obtaining an X.400 address.
  831.    Then the rules described in sections 5.3 and 5.4 are used to store
  832.    the X.400 address as 'x400-text-address' into the Mail-11
  833.  
  834.    an example:
  835.  
  836.       Jim.Clay@cs.UCL.AC.UK
  837.  
  838.    maps accordingly to RFC1327 to
  839.  
  840.  
  841.  
  842. Allocchio                                                      [Page 15]
  843.  
  844. RFC 1405                    Mail-11 Mapping                 January 1993
  845.  
  846.  
  847.       C=gb; ADMD=Gold 400; PRMD=AC.UK; O=UCL; OU=cs; G=Jim; S=Clay;
  848.  
  849.    and finally becomes
  850.  
  851.       SMTPGW::gw%"/C=gb/A=Gold 400/P=AC.UK/O=UCL/OU=cs/G=Jim/S=Clay"
  852.  
  853.    where 'SMTPGW' is the DECnet node name of the machine running the
  854.    X.400 to Mail-11 gateway.
  855.  
  856. 6.4.6. Mail-11 --> X.400 --> RFC822
  857.  
  858.    The Mail-11 address is encoded as specified in sections 5.2 and 5.5;
  859.    then RFC1327 is used to convert the address in RFC822.
  860.  
  861.    an example:
  862.  
  863.       RELAY::MYNODE::BETTY
  864.  
  865.    maps into X.400 as
  866.  
  867.       C=it; ADMD=garr; DD.Dnet=HEP; DD.Mail-11=RELAY::MYNODE::BETTY;
  868.  
  869.    and accordingly to RFC1327
  870.  
  871.       "/C=it/A=garr/DD.Dnet=HEP/DD.Mail-11=RELAY::MYNODE::BETTY"@gw2.it
  872.  
  873.    where 'gw2.it' is the domain of the machine running the RFC1327
  874.    gateway.
  875.  
  876. Appendix A Mail-11 - RFC822 mapping
  877.  
  878. A.1 Introduction
  879.  
  880.    The implementation of a Mail-11 - RFC822 gateway was faced by many
  881.    software developers independently, and was included in many mail
  882.    products which were running on both VAX/VMS and UNIX systems. As
  883.    there was not a unique standard mapping way, the implementations
  884.    resulted into a number of possible variant methods to map a Mail-11
  885.    address into an RFC822 one. Some of these products became then
  886.    largely widespread, starting to create a number of de facto mapping
  887.    methods.
  888.  
  889.    In this small appendix some sort of standardisation of the mapping
  890.    problem is considered, trying to be compatible with the existing
  891.    installed software. We must also remind that, in some cases, only
  892.    simple Mail-11 addresses could be mapped into RFC822, having complex
  893.    ones producing all sort of quite strange results.
  894.  
  895.  
  896.  
  897.  
  898. Allocchio                                                      [Page 16]
  899.  
  900. RFC 1405                    Mail-11 Mapping                 January 1993
  901.  
  902.  
  903.    On the other hand, the mapping of an RFC822 address in Mail-11 was
  904.    quite straightforward, resulting in a common definition which uses
  905.    "Mail-11 foreign mail protocol" to design an RFC822 address:
  906.  
  907.       [[node::][node::]...]prot%"rfc-822-address"
  908.  
  909.    or
  910.  
  911.       [node::][node::]...]::"rfc-822-address"
  912.  
  913. A.2 De facto implementations
  914.  
  915.    A considerable number of de-facto implementations of Mail-11/RFC822
  916.    gateways is existing. As said in the introduction, the mapping of
  917.    RFC822 addresses in Mail-11 is accomplished using the foreign mail
  918.    protocol syntax and is thus unique.
  919.  
  920.    On the other hand, Mail-11 addresses are encoded in RFC822 syntax in
  921.    various ways. Here are the most common ones:
  922.  
  923.         a) "node::user"@gateway-address
  924.         b) user%node@gateway-address
  925.         c) user@node.decnet.domains
  926.         d) user%node.dnet@gateway-address
  927.  
  928.    Let's have a quick look to these different choices.
  929.  
  930.    a - This form simply encloses as quoted Left Hand Side string the
  931.        original Mail-11 address into the RFC822 address of the
  932.        Mail-11/RFC822 gateway. This method is fully conformant with
  933.        RFC822 syntax, and the Mail-11 address is left untouched; thus
  934.        no encoding rules need to applied to it.
  935.  
  936.    b - As one will immediately notice, this form has nothing in it
  937.        indicating the address is a Mail-11 one; this makes the encoding
  938.        indistinguishable from a similar encoding of RSCS (BITnet)
  939.        addresses used by some IBM VM Mailer systems. It should thus be
  940.        deprecated.
  941.  
  942.    c - In this case a sort of 'reserved word' (decnet)  embedded into
  943.        the address itself identifies the presence of a Mail-11 original
  944.        address preceding it. The decoding is possible, dropping
  945.        'domains' and extracting 'user' and 'node' parts. However complex
  946.        Mail-11 addresses cannot be mapped properly in this syntax, and
  947.        there is no specific rule for adding the 'domains' part of the
  948.        address.
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Allocchio                                                      [Page 17]
  955.  
  956. RFC 1405                    Mail-11 Mapping                 January 1993
  957.  
  958.  
  959.    d - In this case again there is a 'reserved word' (dnet)  which make
  960.        possible the identification of the original Mail-11 address;
  961.        'gateway-address' points to the Mail-11/RFC822 gateway and 'node'
  962.        and 'user' information can be easily drawn from the address.
  963.        However complex Mail-11 addresses cannot be embedded easily into
  964.        this syntax.
  965.  
  966. A.3 Recommended mappings
  967.  
  968.    From the examples seen in the previous paragraphs we can derive a
  969.    canonical form for representing the mapping between Mail-11 and
  970.    RFC822.
  971.  
  972. A3.1 RFC822 mapped in Mail-11
  973.  
  974.    The mapping of an RFC822 address in Mail-11 is straightforward, using
  975.    the "Mail-11 foreign mail protocol" syntax. The two possible variants
  976.    are:
  977.  
  978.       [[node::][node::]...]prot%"rfc-822-address"
  979.  
  980.    or
  981.  
  982.       [node::][node::]...]::"rfc-822-address"
  983.  
  984. A3.2 Mail-11 mapped in RFC822
  985.  
  986.    RFC822 foresee a canonical form for representing non-RFC822
  987.    addresses: put the foreign address in local part (Left Hand Side,
  988.    LHS) is a form as similar as possible to its original syntax. Thus
  989.    the suggested mapping is:
  990.  
  991.       "Mail-11-address"@gateway-address
  992.  
  993.    This format assures also the return path via the appropriate gateway.
  994.  
  995. A.4 Conclusions
  996.  
  997.    A standard way of mapping Mail-11 addresses into RFC822 and vice
  998.    versa is feasible. A suggestion is thus made to unify all existing
  999.    and future implementations. It should be noted, however, that there
  1000.    is no way to specify in these mappings the name of the decnet
  1001.    community owning the encoded address, as it was done for X.400, thus
  1002.    the implementation of the 'intelligent' gateway in this case is
  1003.    impossible.
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Allocchio                                                      [Page 18]
  1011.  
  1012. RFC 1405                    Mail-11 Mapping                 January 1993
  1013.  
  1014.  
  1015. Acknowledgements
  1016.  
  1017.    I wish to thank all those people who read the first draft and
  1018.    contributed a lot with their useful suggestions to the revision of
  1019.    this document, in particular RARE WG1 and IETF X.400 ops group
  1020.    members and S. Hardcastle-Kille.
  1021.  
  1022. References
  1023.  
  1024.    [1]  CCITT, "CCITT Recommendations X.400-X.430", Message Handling
  1025.         Systems: Red Book, October 1984.
  1026.  
  1027.    [2]  CCITT, "CCITT Recommendations X.400-X.420", Message Handling
  1028.         Systems: Blue Book, November 1988.
  1029.  
  1030.    [3]  Crocker, D., "Standard of the Format of ARPA Internet Text
  1031.         Messages", STD 11, RFC 822, UDel, August 1982.
  1032.  
  1033.    [4]  Kille, S., "Mapping Between X.400 and RFC 822", UK Academic
  1034.         Community Report (MG.19) / RFC 987, June 1986.
  1035.  
  1036.    [5]  Kille, S., "Mapping Between X.400(1988) / ISO 10021 and RFC
  1037.         822", RFC 1327, March 1992.
  1038.  
  1039.    [6]  Digital Equipment Corp.;, "VAX/VMS Mail Utility".
  1040.  
  1041.    [7]  Joiner Associates Inc., "Jnet User's Manual".
  1042.  
  1043.    [8]  PMDF User's Guide.
  1044.  
  1045. Security Considerations
  1046.  
  1047.    Security issues are not discussed in this memo.
  1048.  
  1049. Author's Address
  1050.  
  1051.    Claudio Allocchio
  1052.    Cosine S2.2
  1053.    Sincrotrone Trieste
  1054.    Area di Ricerca
  1055.    Padriciano 99
  1056.    I 34012 Trieste
  1057.    Italy
  1058.  
  1059.    Phone:   +39 40 3758523
  1060.    Fax:     +39 40 226338
  1061.    EMail:  Claudio.Allocchio@elettra.Trieste.it
  1062.            C=it; A=garr; P=Trieste; O=Elettra; S=Allocchio; G=Claudio;
  1063.  
  1064.  
  1065.  
  1066. Allocchio                                                      [Page 19]
  1067.